// src/api/health_disease.ts
import { get, post, put, del } from "@/utils/request"
import type { ApiResponse } from "@/utils/http"

/**
 * 病情记录
 * 对应表：health_disease
 */
export interface HealthDisease {
  id: number | null          // 主键id
  petId: number | null       // 宠物id，对应 pet_id
  diseaseName: string        // 疾病名称，对应 disease_name
  description: string        // 病情描述，对应 description
  startDate: string          // 开始日期（YYYY-MM-DD），对应 start_date
  endDate: string | null     // 结束日期（YYYY-MM-DD），对应 end_date
  severity: number | null    // 严重程度（1轻微/2中等/3严重）
  createTime?: string        // 创建时间
  updateTime?: string        // 更新时间
}

/** 返回一个空的病情记录，用于表单初始化 */
export function emptyHealthDisease(): HealthDisease {
  return {
    id: null,
    petId: null,
    diseaseName: "",
    description: "",
    startDate: new Date().toISOString().slice(0, 10),
    endDate: null,
    severity: 1,   // 默认给个“轻微”，你也可以改成 null
  }
}

/**
 * 根据宠物ID获取病情记录列表
 * GET /api/health/disease/list/{petId}
 */
export function listHealthDisease(petId: number) {
  return get<HealthDisease[]>(`/api/health/disease/list/${petId}`)
}

/**
 * 新增病情记录
 * POST /api/health/disease/add
 */
export function addHealthDisease(data: HealthDisease) {
  return post<void>("/api/health/disease/add", data)
}

/**
 * 修改病情记录
 * PUT /api/health/disease/update
 */
export function updateHealthDisease(data: HealthDisease) {
  return put<void>("/api/health/disease/update", data)
}

/**
 * 删除病情记录
 * DELETE /api/health/disease/delete/{id}?petId=xxx
 * 和你 pet_weight 一样，id 走路径参数，petId 走 query 参数
 */
export function deleteHealthDisease(id: number, petId: number) {
  return del<void>(`/api/health/disease/delete/${id}`, { petId })
}
